﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Demos.DesignPatterns._23_访问者模式
{
    /// <summary>
    /// 访问者接口
    /// </summary>
    public interface IVisitor
    {
        /// <summary>
        /// 访问VIP产品
        /// </summary>
        /// <param name="product"></param>
        void Visit(RegularProduct product);
        /// <summary>
        /// 访问折扣产品
        /// </summary>
        /// <param name="product"></param>
        void Visit(DiscountedProduct product);
        /// <summary>
        /// 访问礼品卡 
        /// </summary>
        /// <param name="giftCard"></param>
        void Visit(GiftCard giftCard);

    }
}
